C语言中,事件对象(CreateEvent)、互斥对象(CreateMutex)、关键代码段(InitializeCriticalSection) |
您所在的位置:网站首页 › 内核对象 互斥量怎么算 › C语言中,事件对象(CreateEvent)、互斥对象(CreateMutex)、关键代码段(InitializeCriticalSection) |
事件对象(CreateEvent)、互斥对象(CreateMutex)、关键代码段(InitializeCriticalSection)都是保证数据安全的一些措施。 1、互斥对象和事件对象属于内核对象,利用内核对象进行线程同步,速度较慢,但可以实现在多个进程中各线程间进行同步。 2、关键代码段式工作在用户方式下,同步速度较快,但在使用关键代码段时,很容易进入死锁状态,因为在进入关键代码时无法设定超时值。 MFC下InitializeCriticalSection()和DeleteCriticalSection()可以放在类的构造函数和析构函数中
CreateEvent 代码实例1.1 Event #include "stdafx.h" #include #include using namespace std; DWORD WINAPI thread1fun(LPVOID); DWORD WINAPI thread2fun(LPVOID); int tickets=20; HANDLE hEvent; int main() { HANDLE hthread1,hthread2; the third parameter: 指定事件对象的初始状态。 /// 如果为TRUE,初始状态为有信号状态; FALSE:为无信号状态。 /// the second parameter: TRUE:人工重置,否则自动重置无信号状态 hEvent=CreateEvent(NULL,FALSE,FALSE,_T("tickets")); if(hEvent) { if(ERROR_ALREADY_EXISTS==GetLastError()) //当前有实例在 { cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |